The human-computer interface is becoming an increasingly critical sub-element impacting successful human system integration. The current approach to developing and evaluating graphical user interface (GUI) designs involves an iterative cycle—design, build, prototype. There are several drawbacks to this approach. For example, there is no precise method to prescribe a display layout or design based upon the task information requirements; thus, the iterative testing of hypothesized best layouts is required. The “size” of the design space and the constraints of the design space are unclear and unbounded. Another problem is that the proof of the value of these design hypotheses lies solely in usability testing by a human user and data collection. The degree to which this testing can be effectively done is debatable since time constraints pose various limitations—for example, a small number of prototype subjects and prototypes with limited fidelity are typical drawbacks for these studies. Hopefully, design alternatives evolve to contain information that is deemed critical to support cognitive and perceptual processes for each task domain. Unfortunately, this information is not explicitly captured by the design process, but rather is implicitly embodied in the final design.
At best, the design, build, prototype GUI design process produces a heuristic set of “lessons learned” and hopefully a usable interface that meets task performance requirements. As viewed from the most negative perspective, the design, build, prototype design process may require many cycles of empirical testing of ad hoc systems that is terminated when project resources are expended or when performance results are finally achieved. Unfortunately if resources are expended, a design that is just “good enough” may be accepted vs. one that is optimal for task conditions. A need exists for a method of analyzing GUI designs prior to usability testing by a human user.